Object sensing and feedback system

ABSTRACT

In one general aspect, an apparatus to monitor movement of an object may include an input device configured to trigger pre-selection of a type of performance of the object, at least one sensor used to measure a motion parameter of the object, a controller configured to receive the motion parameter of the object and compare the measured motion parameter with a motion reference, and an output device configured to display, in real-time, a feedback information based on the comparison.

CROSS REFERENCE TO RELATED APPLICATION

This application is a Non-provisional of, and claims to priority to,U.S. Provisional Application No. 62/315,427, entitled: “Ball PerformanceProcessing,” filed on Mar. 30, 2016, which is hereby incorporated in itsentirety.

TECHNICAL FIELD

Example embodiments relate to apparatus and methods to monitor movementof an object, and provide feedback information regarding the movement.

BACKGROUND

In many sports, an object (e.g., a baseball, a softball, a soccer ball,a golf ball, a basketball, a football, etc.) can be launched along atrajectory during play. In order to achieve consistency anddependability for a game, one should be able to control the trajectoryof the object in a regular manner. For instance, a baseball player'ssuccess is contingent upon the ability to throw a ball with sufficientspin to cause movement of the ball. Learning how to cause the ball tospin in a desirable way, however, is difficult.

SUMMARY

In a general aspect, an apparatus to monitor movement of an object mayinclude an input device configured to trigger pre-selection of a type ofperformance of the object, at least one sensor used to measure a motionparameter of the object, a controller configured to receive the motionparameter of the object, and compare the measured motion parameter witha motion reference, and an output device configured to display, inreal-time, a feedback information based on the comparison.

Implementations can include one or more of the following features. Forexample, the object may include a ball, and a core within the ball. Thecore may be configured to house the at least one sensor and thecontroller. The type of performance of the object may be a particulartype of pitch, including at least one of a fastball, a curveball, ariseball, a dropball, a slider, a sinker, a screwball, and a changeup.The motion parameter may be least one of velocity, acceleration, spindirection, and spin rate.

In still another general aspect, the output device may be alight-emitting device configured to be arranged on a surface of theobject such that the feedback information is indicative of a desiredperformance of the object. The feedback information may include aspecific color of light. For example, the output device may beconfigured to change to a first color when the comparison is within athreshold range, and the output device may be configured to change to asecond color when the comparison is outside of a threshold range.

In another general aspect a method includes receiving pre-selection of atype of performance of an object, receiving a motion parameter of theobject via at least one sensor, comparing the measured motion parameterwith a motion reference, and triggering a display, in real-time, afeedback information based on the comparison. The feedback informationindicating a desired performance of the object. In some implementations,the method can be performed on, for example, a non-transitory computerreadable medium having code segments stored thereon where the codesegments when executed by a processor cause the processor to perform themethod.

Implementations can include one or more of the following features. Forexample, the method can further include pre-selecting the type ofperformance by activating an input device on the object via a user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing of an object according to at least oneexample embodiment.

FIG. 2 is a graph illustrating coordinates of accelerometers accordingto at least one example embodiment

FIG. 3 is a block diagram illustrating a controller according to atleast one example embodiment.

FIGS. 4 and 5 are flowcharts of methods according to exampleembodiments.

FIG. 6 is a schematic drawing of an object according to another exampleembodiment.

FIGS. 7A and 7B are schematic drawings of an object according to anotherexample embodiment.

FIGS. 8 through 10 are schematic drawings associated with an outputdevice according to at least one example embodiment.

FIG. 11A is a schematic drawing of a circuit board according to at leastone example embodiment.

FIG. 11B is a schematic drawing of a circuit diagram according to atleast one example embodiment.

FIGS. 12A-12D, 13A-13D, 14A-14D, and 15A-15D are schematic drawings ofvarious motion parameters for performance types of an object accordingto example embodiments.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While example embodiments may include various modifications andalternative forms, embodiments thereof are shown by way of example inthe drawings and will herein be described in detail. It should beunderstood, however, that there is no intent to limit exampleembodiments to the particular forms disclosed, but on the contrary,example embodiments are to cover all modifications, equivalents, andalternatives falling within the scope of the claims. Furthermore, thefigures are intended to illustrate the general characteristics ofmethods and/or structure utilized in certain example embodiments and tosupplement the written description provided below. These figures arenot, however, to scale and may not precisely reflect the precisestructural or performance characteristics of any given embodiment, andshould not be interpreted as defining or limiting the range of values orproperties encompassed by example embodiments. For example, thestructural elements may be reduced or exaggerated for clarity. The useof similar or identical reference numbers in the various drawings isintended to indicate the presence of a similar or identical element orfeature.

One type of tracking technology to monitor an object is inertialsensing. In inertial sensing, a sensor (e.g., accelerometers, gyroscopicsensors, and/or magnetometers) may be used and configured to detect(e.g., measure) accelerations and angular speeds in an object-wisecoordinates, which may depict an implicit six-degree (6D) motion. Onearea where inertial sensing tracking technology may be applicable is inthe area of sports, particularly sports that recognize an object (e.g.,a baseball, a softball, a soccer ball, a golf ball, a basketball, afootball, etc.) for spatial accelerated motion. When motion parametersuch as information of acceleration, velocity and position of a movingobject are obtained, it generally extracts information regarding motionand performs path display based on the motion parameter of the extractedinformation.

Example embodiments provide apparatus and methods for monitoringmovement of an object. In some implementations, a controller in theobject may measure direction and speed of spin, and provide feedbackregarding the direction and speed of spin of the object.

In some implementations, an output device on the object may providefeedback to the user, in situ, i.e., during a flight of the ball. Insome implementations, the flight of an object can include a time periodbetween initially being propelled on a trajectory (e.g., thrown by auser, hit by another object) and an end of that trajectory (e.g.,hitting the ground or another object, being caught, etc.). Accordingly,the feedback may be provided to a user while along the trajectory (e.g.,while in-flight).

In some implementations, the object may have similar shape, mass,inertia, feel, and flight dynamics as an object used in real play.

Example embodiments provide apparatus and methods for comparing aperformance of the object to a desired performance (e.g., a targetperformance, an expected performance), and providing feedback to a user.In some implementations, the desired performance can be referred to as atarget movement or movement characteristics. In some apparatus andmethods the feedback may be provided to the user based on thecomparison. In at least one implementation, during flight of the object,the user receives, in real-time, feedback as to the performance of theobject. For example, an output device may display different colors,sounds, etc. that each correspond to or represent different performancecharacteristics. In some implementations, a color can function as avisual aid tool. As a result, the user is immediately notified if his orher performance is proper while the object is in-flight.

Example embodiments provide detecting and analyzing a trajectory of theobject thrown (e.g., pitched by a human), and providing feedbackinformation (e.g., in-flight feedback, instant feedback) regarding thetrajectory during travel along the trajectory. The object can be, but isnot limited to, a baseball, a softball, a soccer ball, a golf ball, abasketball, a volleyball, a tennis ball, a racquetball, a squash ball, atable tennis ball, a bowling ball, a billiard ball, a shot-put, adiscus, a javelin, etc.

FIG. 1 is a schematic drawing of an object 10 according to at least oneexample embodiment. As shown in FIG. 1 the object 10 may include aninput device 30, at least one sensor 40, a controller 50, and an outputdevice 90. The input device 30 can be configured to triggerpre-selection of a type of performance of the object 10. The at leastone sensor 40 can be configured to detect (e.g., measure) a motionparameter of the object 10. The controller 50 can be configured toreceive the motion parameter of the object and compare the measuredparameter of performance (which can be an actual performance, anin-flight performance, and/or a current performance) with a motionreference (e.g., motion reference associated with a target type ofperformance). The output device 90 can be configured to display, inreal-time, feedback information based on the comparison.

In some implementations, the input device 30 may be disposed inside(e.g., located inside) of the object 10 and can be used to trigger apre-selection of a type of performance (e.g., fastball, curveball,slider, sinker, screwball, changeup, etc.). As disclosed herein,pre-selection may be described as a period prior to the object 10 beingpropelled along a trajectory (e.g., thrown or pitched). Alternatively,the pre-selection may be described as a period prior to any measurementof the motion parameter of the object (i.e., movement of the object 10).

In some implementations, the input device 30 may be located as close aspossible to an inside surface of the object 10. This permits the user tofacilitate operation of the input device (i.e., activate a selection ofthe type of performance).

In some implementations, the input device 30 can be disposed on asurface of the object 10. In some implementations, the input device 30can be integrated into a surface of the object 10. In someimplementations, the input device 30 can define at least a portion of asurface of the object 10.

In some implementations, the input device 30 can be, or can include, avariety of input devices including, but not limited to, a pressuresensor, a button, an infrared sensor, an optical sensor, an electronicsensor, a switch, a wireless input device (e.g., a Bluetooth device), aradio-frequency identification (RFID) sensor, a touch sensor, and/or soforth.

In at least one implementation, the input device 30 may be a pressuresensor that is configured to detect physical pressure by a finger(s) ofthe user. The pressure sensor may operate as a resistor to changes itsresistive valve. In one example implementation, the user may press thepressure sensor located underneath or on the surface of the object 10,and activate the target (e.g., expected, desired) type of performance.The input (or triggering) can be configured so that the user may quicklyswitch the target type of performance while practicing, but resilientenough to not be activated unwillingly. In some implementations, on asurface of the object 10, there may be a marking(s) to indicate thelocation of the input device inside of or on the object 10.

In some implementations, there may be one input device 30 to triggerpre-selection of the target type of performance. For example, bypressing the input device 30 once, the user activates one target type ofperformance (e.g., a fastball pitch). By pressing the input device 30two times, the user activates a second target type of performance (e.g.,a curveball pitch). By pressing the input device 30 three times, theuser activates a third target type of performance (e.g., a changeuppitch), and so on.

In some implementations, there may be two input devices (similar toinput device 30 as described above) to activate the target type ofperformance. That is, when both or one of the input devices 30 arepressed, the target type of performance can be activated. For example,by pressing one sensor of the two input devices 30, the user activatesone target type of performance (e.g., a fastball pitch). By pressingboth input devices 30, the user activates a second target type ofperformance (e.g., a curveball pitch), and so on.

In some implementations, the target type of performance may be selectedby pressing the input device 30 for a predetermined amount of time toactivate the selection. For example, by pressing input device 30 for 2seconds, the user activates one target type of performance (e.g., afastball pitch). By pressing input device 30 for 5 seconds, the useractivates a second target type of performance (e.g., a curveball pitch).

In some implementations, the input device 30 can be used to turn ON/OFFon or more of the electronic components in the object 10. In someimplementations, the input device 30 can be utilized to put one or moreof the electronic components of the object 10 in a standby or sleepstate.

In some implementations, any input device (e.g., pressure sensor) can beexcluded. Instead sensors (e.g., accelerometers and/or other inertiameasurement sensors) can be used to activate or perform thepre-selection. For example, shaking the object 10 could wake it up froma low-power sleep mode. Other example may include specific motionsequences of the object 10 to active the type of performance (e.g.,shake the object horizontally and/or vertically, or move the object in acircle).

In some implementations, an application (e.g., with a user interfaceincluding a virtual input device) can be used in conjunction with, orinstead of an input device to perform pre-selection. Any of thefunctions associated with pre-selection described herein can beperformed using the application. The application can be configured tooperate on, for example, any type of a computing device.

In some implementations, when awakened from a sleep state (or offstate), the object 10 can default to a particular type of user using theobject in a particular fashion. For example, when awakened from a sleepstate (or off state), the object 10 can be defaulted to a right-handedpitcher throwing a particular type of target performance (e.g., a riseball). In some implementations, selections of infielder, outfielder,left-handed pitcher, along with types of throw can be selectable throughthe input device 30 (e.g., the Bluetooth device).

In some implementations, the activation of the pre-selection of type ofperformance could occur entirely or in part through an externalcomputing device, such as a computer, a laptop, or any handheld device.

In yet other implementations, the different type of performances may beselected using sensor(s) on the object and/or the external computingdevice. For example, the user could select frequently used options(e.g., spin type) directly on the object but select less frequently usedoptions (e.g., allowable ranges or player levels) through an externalcomputing device.

In some implementations, the input device 30 (or another input device(not shown)) can be used to select a particular type of user. Forexample, in some implementations, the input device 30 can be used toselect a pitcher (e.g., a right-handed pitcher or a left-handedpitcher), an infielder, or an outfielder. In some implementations, thetype of user can include a skill level of the user (e.g., amateur,professional, expert, beginner or novice). In some implementations, thetarget types of performance can be different based on the user type (oruser types). For example, a first set of target performance types can beassociated with a first type of user, and a second set of targetperformance types can be associated with a second type of user. In someimplementations, the same set of target performance types can beassociated with both the first type of user and the second type user.

In some implementations, rather than using the input device 30, theobject 10 may be preset (default setting) for a particular type ofperformance. In other words, different objects (i.e., balls) may befunctioned to perform different type of performances (i.e., pitch).

The at least one sensor 40 may be configured to detect (e.g., respondto, measure, detect, identify) motion of the object 10 The at least onesensor 40 can be configured to facilitate a determination of a motionparameter, including but not limited to, velocity (e.g., forwardvelocity), acceleration, spin direction (e.g., spin direction relativeto general trajectory), spin axis (e.g., earth relative angle of axis ofrotation), spin rate (e.g., angular velocity, revolutions per second),beginning and/or ending of trajectory or flight of the object 10,distance of movement of the object 10, and other motion data. In someimplementations, spin orientation, which is orthogonal to spin axis, canbe used instead of spin axis. In one example implementation, the atleast one sensor 40 is an accelerometer for detecting (e.g., measuring)the motion parameter. The accelerometer can be configured to detectacceleration an object experiences relative to freefall and is theacceleration obtained by the object. Further, at any point in freefall,there is an existence of a local motion reference and the accelerometerdetects (e.g., measures) the acceleration relative to that local motionreference. In some implementations, the accelerometer may be amicro-electromechanical systems (MEMS) accelerometer.

In some implementations, the at least one sensor 40 may additionally oralternatively include a gyrometer, a magnetometer and/or an inertialmeasurement units (IMUs). In some implementations, the at least onesensor 40 may additionally or alternatively include a global positioningsystem (GPS) antenna and/or temperature sensor.

In at least one implementation, the at least one sensor 40 may detect(e.g., measure) the motion parameter regarding speed, travel velocity,or linear velocity of the object 10. Further, the at least one sensor 40may provide motion data in the form of acceleration along differentaxes. By sensing the parameter from which the travel speed of object 10is identified or determined, the object 10 may provide feedback forevaluation of a thrown object 10. In some implementations, the at leastone sensor 40 may detect a distance the object 10 traveled. This mayfacilitate in the calculation of linear velocity of the object 10.

In at least one implementation, the at least one sensor 40 can includeone or more accelerometers which may provide acceleration signals ordata from which the speed of the object 10 is determined. By allowingthe speed and/or spin of the object 10 to be determined, the at leastone sensor 40 may facilitate evaluation of the type of performance. Forexample, a changeup pitch should desirably be about 8 to 15 mph sloweras compared to a fastball pitch.

In some implementations, the at least one sensor 40 may measure (e.g.,can be used to measure) or detect a spin axis about which the object 10is spinning or rotating, the relative angle of the axis of spin (e.g.,angle of spin axis relative to some reference point (e.g., a verticalspin axis, a horizontal spin axis)), and/or a rate at which the object10 is spinning or rotating about the spin axis. As a result, in additionto being able to detect the parameter from which linear velocity of theobject 10 is determined, the at least one sensor 40 may also detectparameters or values indicating angular velocity and acceleration whichare indicative of action or movement of the object 10. For anotherexample, a curve ball pitch should desirably have a different spin(e.g., axis of spin) than a fastball pitch.

By detecting a spin axis, a spin rate, and/or parameters correspondingto the spin axis and spin rate (e.g., angle of spin axis relative tosome reference point (e.g., a vertical spin axis, a horizontal spinaxis)), the at least one sensor 40 can be used to provide feedback forevaluation of different types of performance (e.g., target performance).Because the at least one sensor 40 produces signals that can be used bythe controller 50 to determine a spin axis of a particular type ofperformance, the at least one sensor 40 enables the controller 50 tocompare the motion of the object 10 (e.g., measured performance) to atarget type of performance. Accordingly, in some implementations, thecontroller 50 can be configured to identify or determine a type ofperformance.

As mentioned above, the at least one sensor 40 can also be configured toidentify the angle of the spin axis with respect to a reference, such asthe ground or polar axes. Accordingly, different types of pitches, suchas, curveball, slider, sinker, screwball, changeup pitches, may havedifferent signature characteristic spin axes or ranges of spin axes. Forexample, a curveball pitch may have an ideal range of angles for itsspin axis and an ideal range of spin rates that is different than theideal range of angles and spin rates for other types of pitches.

In such a manner, the controller 50 may track and provide feedback forindividual pitches based upon the determined type of pitch.Specifically, the at least one sensor 40 may provide signals to thecontroller 50 such that feedback may trigger feedback to be displayedvia the output device 90 on the object 10.

In another implementation, the data may be output to allow the user tobetter evaluate whether a particular targeted (e.g., intended) type ofperformance has an appropriate spin axis or spin rate and/or whetheradjustment should be made to achieve the ideal spin axis or spin rate.For example, the user may be intending to throw a first type of pitch,where the measured parameter from the least one sensor 40 may indicatethat the throw does not have an appropriate spin axis and/or spin ratefor the intended first type of pitch. The controller 50 may then sendinformation to the output device 90, in real-time, indicating a resultfor that particular intended pitch.

Referring to FIG. 2, the at least one sensor 40 may include six (6)accelerometers to determine the motion parameter of the object 10. Insome implementations, each accelerometer may be configured as a 3-axispositioning unit. As a result, two accelerometers may be placed on therespective three orthogonal axes (x-, y- z-axes) of the object 10. Insome implementations, the object 10 can include more or less sensors(e.g., less than 6, or more than 6). In some implementations, thesensors can be positioned along or between different axes (e.g., an axisother than one or more of the x axis, the y axis, or z axis) than shownin FIG. 2.

For example, as shown in FIG. 2, two accelerometers are placed along anx-axis that are equidistant from a center of the axes, twoaccelerometers are placed along a y-axis that are equidistant from thecenter of the axes, and two accelerometers are placed along a z-axisthat are equidistant from the center of the axes. In someimplementations, pairs of accelerometers may have different distancesfrom the center of the axes. The two accelerometers at each orthogonalaxis solves for values of linear and angular accelerations of the object10 as well as an angular velocity of the object 10. Furthermore, byplacing two accelerometers at each orthogonal axis, a distance theaccelerometers are placed from an origin can be varied, and differentvalues of acceleration and angular velocity can be varied.

In some implementations, the following equations describe an approachthat uses six accelerometers.

$\begin{matrix}{A_{0\; x} = \frac{A_{1\; x} + A_{2\; x} + A_{3\; x} + A_{4\; x} + A_{5\; x} + A_{6\; x}}{6}} & (1) \\{A_{0\; y} = \frac{A_{1\; y} + A_{2\; y} + A_{3\; y} + A_{4\; y} + A_{5\; y} + A_{6\; y}}{6}} & (2) \\{A_{0\; z} = \frac{A_{1\; z} + A_{2\; z} + A_{3\; z} + A_{4\; z} + A_{5\; z} + A_{6\; z}}{6}} & (3)\end{matrix}$

where A_(ij) (i=0; j=x, y, or z) is the translational acceleration ofthe center of the object in direction j; A_(ij) (i=1−6; j=x, y, or z) isthe translational acceleration of accelerometer i in the direction j.

The angular velocity of the object in the x, y, and z directions is:

$\begin{matrix}{\omega_{x} = {\frac{1}{2}\sqrt{\frac{2\left( {{r_{x}{r_{y}\left( {A_{0\; z} - A_{3\; z}} \right)}} + {r_{x}{r_{y}\left( {A_{0\; y} - A_{2\; y}} \right)}} + {r_{y}{r_{z}\left( {A_{1\; x} - A_{0\; x}} \right)}}} \right)}{r_{x}r_{y}r_{z}}}}} & (4) \\{\omega_{y} = {\frac{1}{2}\sqrt{\frac{2\left( {{r_{x}{r_{y}\left( {A_{0\; z} - A_{3\; z}} \right)}} + {r_{x}{r_{y}\left( {A_{2\; y} - A_{0\; y}} \right)}} + {r_{y}{r_{z}\left( {A_{0\; x} - A_{1\; x}} \right)}}} \right)}{r_{x}r_{y}r_{z}}}}} & (5) \\{\omega_{z} = {\frac{1}{2}\sqrt{\frac{{- 2}\left( {{r_{x}{r_{y}\left( {A_{0\; z} - A_{3\; z}} \right)}} + {r_{x}{r_{y}\left( {A_{2\; y} - A_{0\; y}} \right)}} + {r_{y}{r_{z}\left( {A_{1\; x} - A_{0\; x}} \right)}}} \right)}{r_{x}r_{y}r_{z}}}}} & (6)\end{matrix}$

The direction and speed of spin are the direction and magnitude of{right arrow over (ω)}=[ω_(x), ω_(y), ω_(z)].

In some implementations, the acceleration data may be integrated priorto the propelling (e.g., release of) the object 10 along a trajectory todetermine the direction of flight of the object 10. In someimplementations, using this direction of flight and the direction ofgravity, the direction of spin can be transformed into a motionreference.

The controller 50 may be configured to retrieve and compare the measuredmotion parameter in accordance with a motion reference. The motionreference may be, or can include, a threshold (e.g., a threshold valueor set of threshold values or ranges) stored in, for example, a memory57 (shown in FIG. 3) for comparing the measured motion parameter. Foreach type of performance, there can be an ideal target performance (foreach target type of performance) that can be used to define thethreshold (or multiple threshold values).

By comparing the measured motion parameter with the motion reference,the controller 50 may determine whether the performance (e.g., measuredperformance) is within the threshold. The threshold may be, or caninclude, a range in which the object 10 may perform (e.g., spin rate forcurveball).

In some implementations, the measured motion parameter can be comparedwith a motion reference that includes several thresholds or ranges. Insome implementations, the measured motion parameter can be compared witha motion reference that includes a threshold with several rangesassociated with the threshold. For example, if the measured motionparameter in comparison to the threshold is within in a first range ofthe threshold, the controller 50 can trigger an output that represents agood performance (e.g., a green light in-flight feedback using theoutput device 90); if the measured motion parameter in comparison to thethreshold is within a second range of the threshold, the controller 50can trigger an output that represents a fair performance (e.g., a yellowlight in-flight feedback using the output device 90); and if themeasured motion parameter in comparison to the threshold is outside thesecond range (e.g., is within a third range), the controller 50 cantrigger an output that represents a poor performance (e.g., a red lightin-flight feedback using the output device 90).

As a specific example for a particular pre-selected target type ofperformance, a measured spin axis of the object 10 (e.g., in a measuredperformance) in comparison to a threshold spin axis can be considered agood performance if within ±10° range of the threshold spin axis. Ameasured spin axis of the object 10 in comparison to the threshold spinaxis can be considered a fair performance if outside of the ±10° range,but within ±20° range of the threshold spin axis. A measured spin axisof the object 10 in comparison to the threshold spin axis can beconsidered a poor or failing performance if outside of the ±20° range ofthe threshold spin axis.

As another specific example for a particular pre-selected target type ofperformance, a measured spin rate (e.g., rotations per second (rps)) ofthe object 10 in comparison to a threshold spin rate can be considered agood performance if less than 10 rps of the threshold spin rate. Ameasured spin rate of the object 10 in comparison to the threshold spinrate can be considered a fair performance if within a range of 10-20 rpslower than the threshold spin rate. A measured spin axis of the object10 in comparison to the threshold spin rate can be considered a poor orfailing performance if less than 20 rps of the threshold spin rate.

In some implementations, the target type of performance (e.g., motionreference associated with the target type of performance) can include acombination of thresholds. As a specific example, a particularpreselected target type of performance can include a threshold spin axisand a threshold spin rate.

In some implementations, the controller 50 may include one or moreprocessing units or application-specific integrated circuits (ASICs)configured to operate the output device 90. In some implementations, thecontroller 50 may receive the motion parameter sensed by the at leastone sensor 40 and control (display) the output device 90 following adetermination by the controller 50 that the object 10 has been correctlyperformed (e.g., pitched or thrown) based on the motion parameterreceived by the at least one sensor 40.

Referring to FIG. 3, the controller 50 may include a processor 55, amemory 57, a performance type module 61 (also can be referred to as asettings module), a motion parameter module 62, a motion referencemodule 63 (also can be referred to as a threshold module), a comparisonmodule 64, a results module 65, and an output module 66.

In some implementations, the processor 55 may be configured to retrievethe motion data (e.g., signals) from the at least one sensor 40, andtransmit the motion data to the performance type module 61 to determinethe type of performance (e.g., type of pitch). For example, once theuser triggers the selection of the type of performance (e.g., targettype of performance), the performance type module 61 retrieves data forthe selected performance. The performance type module 61 obtains theretrieved motion data from the processor 55 in response to a user'sindication via the input device 30 that the selected performance is tobe evaluated.

The motion parameter module 62 may be configured to calculate (e.g.,derive) motion parameters (e.g., characteristics) of the performance(e.g., measured performance) from the sensed motion data. For example,based upon the signals from the at least one sensor 40, the motionparameter module 62 may calculate a motion parameters (e.g., performancecharacteristics, velocity, acceleration, spin axis, spin direction, spinrate, and other motion data). The motion parameter module 62 may directthe processor 55 to determine the measured type of performance that wasthrown from the sensed motion data. Further, the motion parameter module62 may derive the motion parameters (e.g., performance characteristics)for a particular performance. For example, a particular pitch type mayhave a signature characteristic (e.g., spin axis or spin axis range). Insome implementations, the motion parameter module 62 may obtain thevarious ranges for the different pitch types from the motion referencemodule 63 of memory 57.

In some implementations, the at least one sensor 40 may transmit thesensed motion data directly to the motion parameter module 62.

The comparison module 64 may be configured to compare the sensed motiondata for the measured performance against one or more thresholds, rangesor evaluation criteria stored in memory 57 and associated with a targettype of performance. For example, the comparison module 64 may comparedetected parameters or characteristics (e.g., velocity, spin rate, spindirection, and/or spin axis) to a performance (i.e., pitch) that ispre-defined or ideal (e.g., for a particular type of performance).

In some implementations, the comparison module 64 may compare the user'sperformance (e.g., measured performance) with statisticalcharacteristics of the same performance attribute for an aggregate ofplayers, such as, players belonging to a particular league, team, orlevel of play. For example, the comparison module 64 may compare auser's spin rate for a pitch with an average spin rate for the samepitch by Little League pitchers, high school pitchers, travel leaguepitchers of a particular age range, minor-league pitchers, major-leaguepitchers, etc.

In some implementations, the at least one sensor 40 may be configured totransmit the sensed motion data directly to the comparison module 64.

The results module 61 may be configured to store the sensed motion dataindependent of the type of pitch or may be grouped based upon othercriteria such as the evaluation of the particular pitch (top 10percentile, bottom 10 percentile, good, fair, poor etc.).

The output module 66 may be configured to notify the user of theperformance result and configured to display the result via the outputdevice 90 in real-time, informing the user whether or not theperformance (e.g., measured performance (e.g., actual, current, and/orin-flight performance) resulted in proper form. In some implementations,the output module 66 may notify the user, in real-time, via the outputdevice 90, by using, for example, different color of lights emitted bythe output device 90 to indicate the quality of the performance, asound, and/or so forth.

As disclosed herein, when the performance result is displayed by theoutput device 90 in real-time, the output device 90 can provide feedbackinformation while the object 10 is in flight (e.g., along a trajectory).Alternatively, real-time may be at a time when the at least one sensor40 is measuring actual movement of the object during flight.

In some implementations, although each of the modules 61, 62, 63, 64,65, 66, are illustrated as being provided on the controller 50, which ispart of object 10. In some implementations, one or more of such modulesmay be remotely located relative to the object 10. For example, each ofthe one or more modules may direct a remotely located processing unit tocarry out instructions of the particular module and wherein the resultsof instruction are transmitted to an external portable electronic devicein a wired or wireless fashion.

In some implementations, the output device 90 may be disposed within(e.g., located inside of) the object 10, more specifically, at or belowa surface of the object 10 but not extending above the surface so as tonot affect the flight of the object 10. In some implementations, theoutput device 90 may be flush against an inside surface of the object 10creating a smooth surface. In some implementation, a transparentmaterial may be applied on the surface of the object 10 where the outputdevice 90 is located.

In some implementations, and in accordance with the description above,the output device 90 may be used as an indicator, following adetermination by the controller 50, that the object 10 has been moved(e.g., pitched or thrown (e.g., quality)) in a desirable fashion basedon one or more motion parameters detected by the at least one sensor 40.In other words, the output device 90 can be used to represent orindicate performance (e.g., a level or quality of a measuredperformance) of the object 10 with respect to a target type ofperformance (which can be pre-selected).

In some implementation, the output device 90 may be used as an indicatorfor the type of performance (e.g., fastball, curveball, slider, sinker,screwball, changeup, etc.) of the object 10. For example, the outputdevice 90 can be used to indicate that a measured performance of theobject 10 is a particular type of performance.

In some implementations, the output device 90 may be used as anindicator for a quality of performance of the object 10 (e.g., accuracyof spin).

In some implementations, the output device 90 may be a light-emittingdevice, such as, a light-emitting diode (LED). In some implementations,the controller 50 may generate control signals controlling a color oflight being emitted by the output device 90 based upon the detectedmotion parameter of the object 10. For example, the controller 50 maycause the output device 90 to emit a first color of light upon apredefined threshold for the performance being satisfied (orunsatisfied) and may cause the output device 90 to emit differentcolor(s) of light as different performance threshold(s) are satisfied(or unsatisfied).

For example, if the quality of the performance (e.g., direction/spinrate) of the object 10 is within a high threshold range, the outputdevice 90 will emit one color (e.g., green). If the quality of theperformance of the object 10 is within a threshold range, but notoutside the threshold range, the output device 90 will emit second color(e.g., orange). If the quality of the performance of the object 10 isnot within a threshold, the output device 90 will emit a third color(e.g., red).

In some implementations, the output device 90 can be controlled (e.g.,adjusted) to indicate that a predefined motion threshold is beingsatisfied. For example, in some implementations, light intensity (e.g.,brightness), pulse duration, pulse frequency (e.g., timing), and/orlight color may be controlled (e.g., adjusted) to indicate that apredefined motion threshold is being satisfied. As another example, insome implementations, light intensity (e.g., brightness), pulseduration, pulse frequency, and/or light color may be controlled (e.g.,adjusted) to indicate when each of different predefined motionthresholds are being satisfied.

In some implementations, the controller 50 may generate control signalscausing the output device 90 to turn ON and emit light in response tosignals from the at least one sensor 40 indicating motion of the object10 satisfying a predefined criteria or threshold. Alternatively, if thepredefined criteria or threshold is not met, the controller 50 will notgenerate any control signals causing the output device 90 to be in theOFF mode. For example, In some implementations, the controller 50 maygenerate control signals causing the output device 90 to begin to emitlight during movement (e.g., a throw or pitch) of the object 10 when theobject 10 satisfies, for example, a predefined minimum velocity, spindirection, spin rate or spin axis or has a velocity, spin rate, spindirection, or spin axis that falls within a predefined threshold range.

In some implementations, the controller 50 may adjust the non-zeroemission of light via the output device 90 dependent upon signals fromthe at least one sensor 40. For example, the controller 50 may generatecontrol signals causing the output device 90 to increase an intensity oflight being emitted as the rate of spin increases or decreases. Thislight intensity adjustment may be made in a continuous ramped fashion ormay be made in a stepwise fashion as predefined thresholds aresatisfied.

In some implementations, the controller 50 may adjust the frequency orduration of pulses of light emitted by the plurality of output devices90 dependent upon the sensed motion of the object 10. For example, thecontroller 50 may generate control signals causing the output device 90to emit light pulses having a frequency or duration upon a predefinedminimum spin rate, a predefined velocity or a predefined spin axis beingdetected.

In some implementations, the controller 50 may generate control signalsadjusting the pulse frequency and/or duration and the light brightnessor intensity to indicate different detected characteristics. Forexample, the controller 50 may adjust or control the frequency and/orduration of the pulses based upon spin rate and the brightness orintensity of such pulses based upon a detected velocity or spin axis ofthe object 10. In some implementations, the controller 50 may adjust orcontrol the frequency and/or duration of pulses based upon the detectedpath or velocity of the object 10 and the brightness or intensity ofsuch pulses based upon a spin rate of the object 10.

In some implementations, the object 10 (e.g., the output device 90)could use sound and/or audio to indicate the quality of the performance.For example, different pitches, melodies, or even words could beproduced by the output device 90 of the object 10 and indicate thequality of the performance during and/or shortly after flight.

In some implementations, both lights and sound may be used to provideindication as to the quality of the performance.

FIGS. 4 and 5 are flowcharts of methods according to exampleembodiments. The blocks described with regard to FIGS. 4 and 5 may beperformed due to the execution of software code stored in the memory 57associated with the object 10 and executed by the processor 55associated with the object 10. However, alternative embodiments arecontemplated such as a system embodied as a special purpose processor.

As shown in FIG. 4, in block S405 the user triggers a selection of atype of performance (e.g., fastball, curveball, slider, sinker,screwball, changeup, etc.), prior to the object 10 being thrown orpitched. In some implementations, the user presses an input device 30 onthe object 10. For example, the user presses the input device 30 on theobject 10 once to select one type of performance (e.g., a curve pitch).In an alternative implementation, the user presses the input device 30twice to select a second type of performance (e.g., a changeup pitch).There may be further implementation of selection depending on the typeof performance desired.

In block S410 at least one sensor 40 may detect motion of the object 10to determine a motion parameter (e.g., speed, velocity, acceleration,spin direction, spin axis, and/or spin rate). In some implementations,the at least one sensor 40 may measure or detect a spin axis about whichthe object 10 is spinning or rotating and a rate at which the object 10is spinning or rotating about the spin axis. In an exampleimplementation, the at least one sensor 40 is an accelerometer formeasuring the motion parameter.

In block S415 the controller 50 may perform one or more functions basedupon the measured motion or travel of the object 10. In someimplementations (and in reference to block S410), by detecting the spinaxis as well as a spin rate, or parameters corresponding to the spinaxis and spin rate, the controller 50 may evaluate the different typesof performance. In some implementations, the controller 50 may comparethe spin axis and spin rate against one or more thresholds, ranges orevaluation criteria. Because the at least one sensor 40 provide signalsindicating a spin axis of a particular type of performance, the at leastone sensor 40 enables the controller 50 to identify or determine whetherthe performance is correct.

In block S420 the controller 50 may operate the output device 90following a determination by the controller 50 that the object 10 hasbeen correctly pitched or thrown based on the motion parameter receivedby the at least one sensor 40. In some implementations, the controller50 may generate control signals controlling a color of light beingemitted to the output device 90 based upon the comparison in block S415.This provides immediate (in real-time) feedback as to the proper pitchor throw.

As shown in FIG. 5, in block S505 the controller 50 may receive a motionparameter (e.g., velocity, acceleration, spin, spin rate, and/or othermotion data) collected by the at least one sensor 40 during the movementof the object 10. Further, the controller 50 may determine whether themovement represented by the measured motion parameter constitutes adesired performance (e.g., correct pitch), as defined by the motionreference.

In block S510 the controller 50 may determine which two output devices90 to light up based on the received information. In someimplementations, depending upon a particular type of performance (e.g.,curveball, slider, sinker, screwball, changeup), each performance (i.e.,pitch) has a different signature characteristic spin axes (e.g., spinson a particular plane perpendicular to its spin axis). Therefore, thecontroller 50 determines which two output devices 90 should be triggered(e.g., lit up) depending upon the type of pitch.

In some implementations, for a particular performance, the controller 50may choose two output devices 90 that are farthest from a spin axis forthat performance. In some implementations, the two output devices 90 maybe opposite to each other relative to a center of the object 10. As theobject 10 spins, the light from the two output devices 90 will form astreak that indicates the plane in which the object 10 is spinning,i.e., the plane perpendicular to the axis of spin.

In block S515 the received motion parameter may be compared to athreshold stored in a memory 57. In some implementations, the controller50 may compare the received motion parameter for a particular type ofperformance against one or more thresholds or ranges stored in thememory 57. Due to different types of performances having differentsignature characteristic (e.g., spin axes or ranges of spin axes), eachperformance is different and has an ideal range of angles for its spinaxis and an ideal range of spin rates. The controller 50 may compare thereceived motion parameter to the threshold of the selected type ofperformance, and may determine whether the performance is correct.

In block S520 the controller 50 may calculate the compared motionparameter and may determine three settings for comparison: good ifwithin e.g., ±10° threshold range; fair if within e.g., ±10-20°threshold range; and poor if outside of (e.g., greater than) the ±20°threshold range.

In blocks S525, S530, S535 the controller 50 may cause the designatedtwo output devices 90 to emit different color of light in accordancewith block S520. In some implementations, the two designated outputdevices 90 may emit different colors of light as different thresholdsare determined. For example, in block S525, if the quality of theperformance is within a high threshold, the two designated outputdevices 90 will emit one color (e.g., green). In block S530 if thequality of the performance is within a threshold, but not outside thethreshold, the two designated output devices 90 will emit second color(e.g., orange). In block S535 if the quality of the performance is notwithin a threshold, the two designated output devices 90 will emit athird color (e.g., red).

In some implementations, the controller 50 may cause all the outputdevices 90 to emit different color of light based on the threshold.

In some implementations, the object sensing system of above provides theuser immediate (i.e., real-time) feedback as to the performance (i.e.,speed, spin and/or location). In other words, the color of the outputdevice 90 gives the user a visual aid tool. As a result, the user isimmediately notified if his or her performance is correct.

As disclosed herein, when the feedback information is displayed by theoutput device 90 in real-time, it describes while the object 10 is inflight. In some implementations, real-time may be at a time when the atleast one sensor 40 is measuring actual movement of the object duringflight.

In some implementations, the collected data may be communicated to anexternal computing device, such as a portable electronic device.Examples of a portable electronic device include, but are not limitedto, a smart phone, a flash memory reader (i.e., IPOD), a cell phone, apersonal data assistant (PDA), a laptop, a tablet or netbook, and thelike. Such communication may be made in a wired fashion or a wirelessfashion. Examples of wireless communication include, but are not limitedto, Wi-Fi, Bluetooth, and Radio Frequency (RF). In some implementations,the portable electronic device may provide feedback to another usermonitoring the performance in an accurate and reliable manner.

In some implementations, the collected data may be stored in a memory inthe controller 50 for analysis. In some implementations, the storedcollected data may provide feedback and recommendations for futureperformance. As a result, one may track and compare the instantperformance against a previous performance.

FIG. 6 is a schematic drawing of an object 10 according to anotherexample embodiment. As shown in FIG. 6 the object 10 may include aninput device 30, at least one sensor 40, a controller 50, an outputdevice 90, and a power supply 110. FIG. 6 is similar to FIG. 1 exceptfor an additional feature of the power supply 110. Similarly features asdescribed in FIG. 1 will not be discussed in this section.

The power supply 110 may be configured to provide power to at least theinput device 30, the at least one sensor 40, the controller 50, and theplurality of output devices 90. The power supply 110 may deliver therequired voltage to each subsystem component, and replenish the supplyvoltage.

In some implementations, the power supply 110 will meet the size, power,voltage, and weight requirements, to deliver power to each subsystem(e.g., the input device 30, the at least one sensor 40, the controller50, and the output device 90). For example, the power supply 110 maycarry a charge of at least 3.3 V and power the object 10 during sixhours of use and weigh at least 0.5 ounces.

In some implementations, the power supply 110 may be a lithium-ionbattery due to its high storage density to low weight characteristics.

There may be two charging methods to charge the object 10. The methodsmay be inductive charging (using a cradle system) or a simple plugcharging cable. In some implementations, the object 10 may use batteriesthat are rechargeable through inductive charging.

In some implementations, alternatively, the object 10 could usebatteries that are rechargeable through other means. For example,utilizing a socket on or below the surface of the object 10 or placingsolar panels on the object 10.

In some implementations, the object 10 could be powered usingnon-rechargeable batteries that could be replaced when power is empty.

In some implementations, the object 10 may be powered without usingbatteries altogether. For example, the object 10 may be powered by themovement of the object 10, wherein the power may be stored in electroniccomponents, such as capacitors within the object 10.

FIGS. 7A and 7B are schematic drawings of an object according to anotherexample embodiment.

FIG. 7A illustrates a softball as the object 10. The object can be, butis not limited to, a baseball, a soccer ball, a golf ball, a basketball,a volleyball, a tennis ball, a racquetball, a squash ball, a tabletennis ball, a bowling ball, a billiard ball, a shot-put, a discus, ajavelin, etc.

FIG. 7B is a cross-sectional view of the object 10 shown in FIG. 7A. Theobject 10 (e.g., a softball) may include a core 20, a layer of yarn 22,a cover assembly 24, a controller 50, an input device 30, and aplurality of output device 90.

The core 20, also referred to as a pill, may be a sphere forming acenter portion of the object 10. In some implementations, the core 20may include a cork material. In another implementation, the core 20 mayinclude an elastomeric or rubber material. In some implementations, thecore 20 may include a cork center portion surrounded by one or morelayers of rubber materials.

The layer of yarn 22 may surround the core 20. The layer of yarn 22 maybe a single layer or multiple yarn windings. Such yarn windings may besingle ply, five ply, three ply or other numbers of ply values orcombinations. The yarn windings may be formed of wool, synthetic yarn,synthetic recycled fibers, and fibers or combinations thereof. In someimplementations, there may be four distinct yarn windings that surroundthe cork in concentric circles of varying thickness. In one exampleimplementation, the first winding may be made of four-ply woolen yarn,the second of three-ply woolen yarn, the third of three-ply woolen yarn,and the fourth of synthetic yarn. In some implementations, the firstwinding having the largest thickness in diameter.

The cover assembly 24 may include one or more panels surrounding thelayer 20 and providing an outer cover to object 10. In someimplementations, the cover assembly 24 may be a cowhide cover,consisting of two cover panels 43 (shown in FIG. 9) that may be stapledto the object 10 and then stitched together. In the example illustrated,the cover assembly 24 may include two cover panels 43 connected to oneanother by a stitching 35 along at least one seam 33. The at least oneseam 33 may be generally flush with the outer diameter of the object 10.The stitching 35 joining the two panels along seam 33 may be formed froma high tensile strength thread, such as, Kevlar thread material, forexample. In some implementations, other high tensile strength threadmaterials may be utilized. The cover assembly 24 provides durability andprotection for the electronic components inside of the object 10.

In one example implementation, the controller 50 may be located withincore 20. In the specific example illustrated, the controller 50 may belocated at a central portion of the object 10 within core 20. Becausethe controller 50 is centered within the object 10, the controller 50 isless likely to impact weight distribution characteristics and the feelof the object 10.

In another implementation, the controller 50 may be located inwardly ofthe cover assembly 24. In yet another implementation, the controller 50may be located inwardly of the layer of yarn 22.

The controller 50 may communicate with at least the input device 30, atleast one sensor 40 (shown in FIG. 1), and an output device 90.

The motion parameter (e.g., velocity, acceleration, spin direction, spinaxis, spin rate, and/or other motion data) collected by the at least onesensor 40 during the movement of the object 10 is processed by thecontroller 50. Further, the controller 50 may determine whether themovement represented by the measured motion parameter constitutes adesired performance (e.g., correct pitch).

The input device 30 may be located on opposite sides of the object 10beneath the cover assembly 24 for triggering a selection of a type ofperformance (e.g., fastball, curveball, slider, sinker, screwball,changeup, etc.), prior to the object 10 being thrown or pitched. Theinput device 30 may detect physical pressure by a finger(s) of the user.The user may press the input device 30 located on, within, and/or belowthe cover assembly 24 to operate the input device 30. In someimplementations, on a surface of the cover assembly 24, there is amarking(s) to indicate the location of the input device 30 underneaththe cover assembly 24.

In some implementations, there may be one input device 30 to activatethe selection of the type of performance. For example, by pressing theinput device 30 once, the user activates one type of performance (e.g.,a fastball pitch). In some implementations, by activating (e.g.,pressing) the input device 30 two times, the user activates a secondtype of performance (e.g., a curveball pitch). By activating (e.g.,pressing) the input device 30 three times, the user activates a thirdtype of performance (e.g., a changeup pitch), and so on.

In another implementation, there may be two input devices 30 (similar tothe input device 30 discussed above) to trigger the selection of thetype of performance. That is, when one or both input devices 30 areactivated (e.g., pressed), the type of performance can be activated. Forexample, by activating (e.g., pressing) one of the two input devices 30,the user activates one type of performance (e.g., a fastball pitch). Byactivating (e.g., pressing) both input devices 30, the user activates asecond type of performance (e.g., a curveball pitch), and so on.

The controller 50 may further operate the output device 90 following adetermination by the controller 50 that the object 10 has been correctlypitched or thrown based on the measured motion parameter received by theat least one sensor 40.

FIGS. 8 through 10 are schematic drawings associated with an outputdevice according to at least one example embodiment

Referring to FIG. 8, the output device 90 may be located inside of theobject 10 (e.g., softball), but not extending above the cover assembly24 of the object 10. The output device 90 may be flush against the coverassembly 24 of the creating a smooth surface. In some implementations, atransparent material may be applied on a surface of the cover assembly24 where the output device 90 is located.

When the object 10 (e.g., softball) is assembled via the two coverpanels 43 (as shown in FIG. 9), the output device 90 may correspond to arespective hole 48 in one of the cover panel 43 of the cover assembly24. In some implementations, there may be plurality of holes 48 in thecover panel 43 corresponding to the same number of output devices 90.

in some implementations, The assembly 1000 shown in FIG. 10 can includean example of an output device 90. In this implementation, only theoutput device 90 is labeled, but the assembly 1000 includes twelve (12)output devices, which are light-emitting devices. The output devices canbe disposed around the object 10 circumferentially. In other words, theoutput devices may include lights arranged in a circle forming aferris-wheel like configuration (e.g., circumferential direction in oneplane). In some implementations, the output devices, in this case twelvelights, may be separated every 30° forming a circle. Hence, the outputdevices will surround the object 10 in a circumferential direction(i.e., on its equator in one plane).

As noted above, the output devices can be disposed within a plane. Insome implementations, one or more of the output devices can be disposedoutside of a plane. In some implementations, assembly 1000 can includecan include more or less than twelve output devices.

In some implementations, the output device 90 may be light-emittingdiodes (LEDs). For example, the LED may be an 8 mm, 3-wire-type withcapability of color output (e.g., red/green/blue). The LED can be adifferent size than 8 mm and/or can have different numbers of wires.

As shown in FIG. 10, each of the output devices will be wired to acircuit board 42 and the controller 50 will trigger activation of theoutput devices in accordance to the type of performance selected by theuser.

Referring to FIG. 11A, the circuit board 42 may include surface mounts59 for each of several output devices (not shown) (e.g., output device90). In some implementations, there are twelve surface mounts 59. Insome implementations, the twelve surface mounts 59 may be arranged in acircular manner to attach the corresponding output devices. This candefine the configuration of the output devices as shown in FIG. 10. Insome implementations, the circuit board 59 may include the controller 50near a central portion of the circuit board 59.

In some implementations, the controller 50 will trigger activation(e.g., light up) two or more output devices (e.g., output device 90)that are farthest from the spin axis in accordance to the type of pitch.In some implementations, dependent upon the pitch, two or more of theoutput devices, opposite to each other relative to a center of theobject 10, may be lit. In some implementations, as the object 10 spins,the light from the two or more selected output devices will form astreak that indicates the plane in which the ball is spinning, i.e., aplane perpendicular to the axis of spin.

In some implementations, the output device 90 lights up indicating thatthe object 10 is at its desired performance. The controller 50 maygenerate control signals to the two or more selected output devices. Thecontroller 50 may cause the two or more selected output devices to emita first color of light upon a predefined threshold for direction/spinrate being satisfied and may cause the two or more selected outputdevices to emit different colors of light as different direction/spinrate thresholds are satisfied. For example, if the quality of thedirection/spin rate of the object 10 is within a high threshold (e.g.,within ±10° threshold range), the two or more selected output deviceswill emit one color (e.g., green). If the quality of the direction/spinrate of the object 10 is within a threshold, but not outside thethreshold (e.g., within ±20° threshold range), the two or more selectedoutput devices will emit second color (e.g., orange). If the quality ofthe direction/spin rate of the object 10 is not within a thresholdrange, the two or more selected output devices will emit a third color(e.g., red).

In some implementations, the controller 50 may store and keep track ofthe results for future use. In other words, the controller 50 may adjustlighting characteristics of the object 10 as different predeterminedthresholds or milestones are met. For example, in some implementations,the controller 50 may track average performance such that the controller50 may generate different control signals causing the object 10 to emita different characteristic light (such as a different color, frequency(e.g., timing), brightness etc.) based upon the tracked averageperformance.

For example, when a pitcher achieves an average pitch velocity of 40mph, the controller 50 may generate control signals causing a firstcolor light to be emitted by the object 10 and when the player achievesa second greater average pitch velocity of say, at least, 60 mph, thecontroller 50 may generate control signals causing a second differentcolor light to be emitted by the object 10. If a player's average pitchvelocity falls below a predefined threshold, the controller 50 maygenerate control signals once again changing the color of light emittedby the object 10. In such an implementation, the color, pulse frequency,brightness etc. of the object 10 may provide the player with aninstantaneous (i.e., real-time) visual tool.

TABLE 1 Measure Excellent Good Fair Ideal Measured Pitcher PitcherPitcher Pitcher, content and understands understands understands catcherand interpre- direction of quality of spin quality of spin spectatorstation spin and within 500 ms within 2 s can see of quality of (during(after rotation of feedback spin flight) caught) spin within 500 ms(during flight) Measured Replicates Replicates Replicates Replicatessize, moment of moment of moment of official weight, inertia, inertia,inertia, softball and weight, and weight, and weight, and perfectlyinertia circum- circum- circum- ference ference ference of softball ofsoftball of softball within within 1.5 within 2 times official timesofficial tolerance official tolerance tolerance Measured 2,000 g 1,500 g1,000 g 6,000 g maximum non- destructive g-force Measured 3 hours (or 2hours (or 1 hour (or 6 hours (or battery life 600 pitches) 400 pitches)200 pitches) 1200 pitches)

TABLE 1 (above) illustrates critical success measurements for a measuredperformance (i.e., pitch) and relationships between the measuredperformances. As shown in TABLE 1, the measurements range from “ideal”(highest threshold) to “fair” (lowest threshold). In the “ideal”measurement, everyone (e.g., pitcher, catcher, spectators) may see therotation of spin of the object; the object is official in size, weightand inertia; non-destructive g-force of 6,000 g; and 6 hours of batterylife (or 1200 pitches). In the “excellent” measurement, the pitcher seesdirection/spin within 500 ms during flight; the object is official insize, weight and inertia within tolerance; non-destructive g-force of2,000 g; and 3 hours of battery life (or 600 pitches). In the “good”measurement, the pitcher sees spin within 500 ms during flight; theobject is official in size, weight and inertia within 1.5 tolerance;non-destructive g-force of 1,500 g; and 2 hours of battery life (or 400pitches). In the “fair” measurement, the pitcher sees spin within 2 secafter the object is caught; the object is official in size, weight andinertia within 2.0 tolerance; non-destructive g-force of 1,000 g; and 1hours of battery life (or 200 pitches).

FIG. 11B is a schematic drawing of an example circuit diagram accordingto at least one example embodiment. The example circuit diagram includesmany of the elements illustrated in FIG. 11A.

FIGS. 12A-12D, 13A-13D, 14A-14D, and 15A-15D are schematic drawings ofvarious target motion parameters for performance types of an object(e.g., object 10) according to example embodiments. Although thesefigures are illustrated for a right-handed pitcher, in someimplementations these target performance types and motion parameters canbe adapted for a left-handed pitcher or a different type of user. Eachof the motion parameters described in connection with these examples,can be defined within thresholds for a motion reference for theparticular target type of performance. In some implementations, if theobject is a softball, the types of pitches or throws can include, a riseball, a drop ball, a curveball, a screwball, a change up, an infielderor outfielder user or throw, a fastball (e.g., which could includemeasured speed only), and/or so forth.

FIGS. 12A-12D illustrate characteristics of a rise ball for aright-handed pitcher. In this implementation, as shown in FIG. 12A, aball trajectory is a straight line as viewed from above and rises upward(away from the page) toward the end of a flight. In order to obtain thistrajectory, as shown in FIG. 12B, a spin orientation (e.g., orthogonalto spin axis) should be approximately in 11-to-5 clock configuration. Asshown in FIG. 12D (side view), the ball spins on its axis of rotation inwhich a direction of rotation is opposite to a forward velocity of theball. This aerodynamically induces the ball to move upward.

In some implementations, the characteristics of the rise ballillustrated in FIGS. 12A-12D can be used for a different type of usersuch as an infielder or outfielder.

FIGS. 13A-13D illustrate characteristics of a curve ball for aright-handed pitcher. In this implementation, as shown in FIG. 13A, aball trajectory is an arc and moves to the left (as viewed from above)toward the end of a flight. In order to obtain this trajectory, as shownin FIG. 13B, a spin orientation should be approximately in 10-to-4 clockconfiguration. As shown in FIG. 13D (pitcher's view), the ball spins onits axis of rotation in which a direction of rotation is perpendicularto a forward velocity of the ball. This aerodynamically induces the ballto move to the left (for a right-hand pitcher).

FIGS. 14A-14D illustrate characteristics of a drop ball for aright-handed pitcher. In this implementation, as shown in FIG. 14A, aball trajectory is a straight line as viewed from above and sinks down(into the page) toward the end of a flight. In order to obtain thistrajectory, as shown in FIG. 14B, a spin orientation should beapproximately in 12-to-6 clock configuration. As shown in FIG. 14D (sideview), the ball spins on its axis of rotation in which a direction ofrotation is in same direction as a forward velocity of the ball. Thisaerodynamically induces the ball to move downwardly.

FIGS. 15A-15D illustrate characteristics of a screw ball for aright-handed pitcher. In this implementation, as shown in FIG. 15A, aball trajectory is left to right (or uneven). In order to obtain thistrajectory, as shown in FIG. 15B, a spin orientation should beapproximately in 9-to-3 clock configuration. As shown in FIG. 15D(pitcher's view), the ball spins on its axis of rotation in which adirection of rotation is substantially perpendicular to a forwardvelocity of the ball. This aerodynamically induces the ball to move inall directions.

In some implementations, a desired spin may be specified as a standardspin type (e.g., riseball, dropball, screwball, or curveball insoftball). In some implementations, the desired spin may be specified asdirection and/or speed. In yet other implementations, there may existonly one desired spin type direction and/or speed (e.g., football ordiscus throw), and it may not be necessary to select between differentmodes.

In some implementations, the object 10 may communicate the sensed motionparameter to recipient(s) external (e.g., computing device) to theobject 10 in a wireless fashion, wherein the external recipient caninclude a portable electronic device such as a smart phone, a flashmemory reader (IPOD), a cell phone, a personal data assistant, a laptopcomputer, a tablet or netbook computer and the like. The object 10 canbe configured to communicate with the external recipient via anapplication operating on the external recipient. In someimplementations, the controller 50 may carry out at least some datamodifications and/or analysis prior to the data being externallytransmitted to the portable electronic device. For example, thecontroller 50 may carry out some analysis, data derivations or datacompression on the sensed motion parameter or on derived results of thesensed motion parameter prior to transmitting the modified, derivedand/or compressed data to the portable electronic device. In someimplementations, the controller 50 may transmit, in real time, thesignal data or the sensed motion data directly from the at least onesensor 40 to the portable electronic device, wherein the portableelectronic device performs analysis or further data derivation using thesensed motion data.

In some implementations, the object 10 may determine the type ofperformance based on the user's hand/arm motion. In someimplementations, this type of processing can be performed in two stagesby the components of the object (e.g., the controller 50). For example,during a first stage, the controller 50 in the object 10 may receive asignal from at least one sensor based on a movement (e.g., trajectory,speed, location) of the object 10 during the first stage. During thefirst stage, the object 10 can be prepared or in the process of beinglaunched along a trajectory that can occur during the second stage. Themovement of the object 10 during the first stage can be used todetermine a target type of performance that is to be evaluated duringthe second stage. During the second stage, the object 10 be in-flight orin free flight.

As a specific example related to baseball, during a first stage, auser's hand/arm position and/or motion, before release of a baseballduring windup can be used to determine a target performance type.Because each target type of performance (e.g., fastball, curveball,slider, sinker, screwball, changeup, etc.) can be associated with adifferent windup (e.g., arm angle, release point, trajectory, grip, armspeed, etc.), the controller 50 may determine and select the target typeof performance. Thus, the type of performance may be determined by thebaseball prior to the release of the baseball. Then, in the secondstage, the controller 50 can be configured to evaluate the flight of thebaseball by receiving the motion parameter of the baseball and comparingthe measured motion parameter (which can be an actual performance, anin-flight performance, and/or a current performance) with a motionreference (e.g., motion reference associated with a target type ofperformance). The controller 50 may then send a signal to an outputdevice to display, in real-time, a feedback information based on thecomparison. In some implementations, the same controller (i.e., samecontroller) can be used to perform the two stage processing.

In some implementation, a mat (not shown) may be utilized with theobject 10. The mat may be placed at near mid-flight and/or at the end offlight of the object 10. Accordingly, the object 10 may move over themat during flight. In some implementations, the mat may facilitatecalibrating the apparatus to a known initial positioning or set areference point. Additionally, the mat may facilitate determination of amotion parameter more accurately. In some implementations the mat caninclude one or more sensors. In some implementations, the mat can beused in connection with one or more sensors included in the object 10 todetermine a motion parameter (e.g., a direction of spin) of the object10.

In some implementations, when using full six measurement degree offreedom (6D), the information may be used to evaluate the acceleration,angular acceleration, velocity, angle, position and angular orientationof the object as a function of time during flight or free flight. Thesekinematic measures and metrics may be applicable for obtaining andanalyzing accurate movement of objects or bodies during impact, freeflight, or other uses.

In some implementations, flight may be used to describe the trajectoryof the object commencing at the user's hand and ending at a target.

In some implementations, free flight may be used to describe themovement of the object without any motor compulsion and/or motorizedcomponents.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.Various implementations of the systems and techniques described here canbe realized as and/or generally be referred to herein as a controller, acircuit, a module, a block, or a system that can combine software andhardware aspects. For example, a module may include thefunctions/acts/computer program instructions executing on a processor(e.g., a processor formed on a silicon substrate, a GaAs substrate, andthe like) or some other programmable data processing apparatus.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

Some of the above example embodiments are described as processes ormethods depicted as flowcharts. Although the flowcharts describe theoperations as sequential processes, many of the operations may beperformed in parallel, concurrently or simultaneously. In addition, theorder of operations may be re-arranged. The processes may be terminatedwhen their operations are completed, but may also have additional blocksnot included in the figure. The processes may correspond to methods,functions, procedures, subroutines, subprograms, etc.

Methods discussed above, some of which are illustrated by the flowcharts, may be implemented by hardware, software, firmware, middleware,microcode, hardware description languages, or any combination thereof.When implemented in software, firmware, middleware or microcode, theprogram code or code segments to perform the necessary tasks may bestored in a machine or computer readable medium such as a storagemedium. A processor(s) may perform the necessary tasks.

Specific structural and functional details disclosed herein are merelyrepresentative for purposes of describing example embodiments. Exampleembodiments, however, may be embodied in many alternate forms and shouldnot be construed as limited to only the embodiments set forth herein.

Processors suitable for the processing of a computer program include, byway of example, both general and special-purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. Elements of a computer may include atleast one processor for executing instructions and one or more memorydevices for storing instructions and data. Generally, a computer alsomay include, or be operatively coupled to receive data from or transferdata to, or both, one or more mass storage devices for storing data(e.g., magnetic, magneto-optical disks, or optical disks). Informationcarriers suitable for embodying computer program instructions and datainclude all forms of non-volatile memory, including by way of examplesemiconductor memory devices (e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks (e.g., internal hard disks or removable disks);magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor andthe memory may be supplemented by, or incorporated in special-purposelogic circuitry.

To provide for interaction with a user, implementations may beimplemented on a computer having a display device (e.g., a cathode raytube (CRT), a light-emitting diode (LED), or liquid crystal display(LCD) display device) for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user, as well; for example,feedback provided to the user can be any form of sensory feedback (e.g.,visual feedback, auditory feedback, or tactile feedback); and input fromthe user can be received in any form, including acoustic, speech, ortactile input.

Implementations may be implemented in a computing system that includes aback-end component (e.g., as a data server), or that includes amiddleware component (e.g., an application server), or that includes afront-end component (e.g., a client computer having a graphical userinterface or a Web browser through which a user can interact with animplementation), or any combination of such back-end, middleware, orfront-end components. Components may be interconnected by any form ormedium of digital data communication (e.g., a communication network).Examples of communication networks include a local area network (LAN)and a wide area network (WAN) (e.g., the Internet).

It will also be understood that when an element, such as a layer, aregion, or a substrate, is referred to as being on, connected to,electrically connected to, coupled to, or electrically coupled toanother element, it may be directly on, connected or coupled to theother element, or one or more intervening elements may be present. Incontrast, when an element is referred to as being directly on, directlyconnected to or directly coupled to another element or layer, there areno intervening elements or layers present. Although the terms directlyon, directly connected to, or directly coupled to may not be usedthroughout the detailed description, elements that are shown as beingdirectly on, directly connected or directly coupled can be referred toas such. The claims of the application may be amended to reciteexemplary relationships described in the specification or shown in thefigures.

As used in this specification, a singular form may, unless definitelyindicating a particular case in terms of the context, include a pluralform. Spatially relative terms (e.g., over, above, upper, under,beneath, below, lower, and so forth) are intended to encompass differentorientations of the device in use or operation in addition to theorientation depicted in the figures. In some implementations, therelative terms above and below can, respectively, include verticallyabove and vertically below. In some implementations, the term adjacentcan include laterally adjacent to or horizontally adjacent to.

While certain features of the described implementations have beenillustrated as described herein, many modifications, substitutions,changes, and equivalents will now occur to those skilled in the art. Itis, therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the scope of theimplementations. It should be understood that they have been presentedby way of example only, not limitation, and various changes in form anddetails may be made. Any portion of the apparatus and/or methodsdescribed herein may be combined in any combination, except mutuallyexclusive combinations. The implementations described herein can includevarious combinations and/or sub-combinations of the functions,components, and/or features of the different implementations described.

What is claimed is:
 1. An apparatus to monitor movement of an object,comprising: an input device configured to trigger pre-selection of atype of performance of the object; at least one sensor used to measure amotion parameter of the object; a controller configured to: receive themotion parameter of the object, and compare the measured motionparameter with a motion reference; and an output device configured todisplay, in real-time, a feedback information based on the comparison.2. The apparatus of claim 1, wherein: the object includes a ball, theball includes a core within the ball, and the core is configured tohouse the at least one sensor and the controller.
 3. The apparatus ofclaim 1, wherein the type of performance of the object is a particulartype of pitch.
 4. The apparatus of claim 3, wherein the particular typeof pitch is least one of a fastball, a riseball, a dropball, acurveball, a slider, a sinker, a screwball, and a changeup.
 5. Theapparatus of claim 1, wherein the motion parameter is least one ofvelocity, acceleration, spin, and spin rate.
 6. The apparatus of claim1, wherein the output device is a light-emitting device configured to bearranged on a surface of the object such that the feedback informationis indicative of a desired performance of the object.
 7. The apparatusof claim 1, wherein the feedback information includes a specific colorof light.
 8. The apparatus of claim 1, wherein: the output device isconfigured to change to a first color when the comparison is within athreshold range; and the output device is configured to change to asecond color when the comparison is outside of a threshold range.
 9. Theapparatus of claim 1, wherein the input device is disposed within acover of the object.
 10. The apparatus of claim 1, further comprising arechargeable power supply.
 11. The apparatus of claim 1, wherein thecontroller of the object is configured to communicate the measuredmotion parameter to an external computing device.
 12. A methodcomprising: receiving a pre-selection of a type of performance of anobject; receiving a motion parameter of the object via at least onesensor; comparing the measured motion parameter in accordance to amotion reference; and trigger display, in real-time, a feedbackinformation based on the comparison, the feedback information indicatinga desired performance of the object.
 13. The method of claim 12, whereinthe type of performance of the object is a particular type of pitch. 14.The method of claim 13, wherein the particular type of pitch is leastone of a fastball, a riseball, a dropball, a curveball, a slider, asinker, a screwball, and a changeup.
 15. The method of claim 12, whereinthe motion parameter is least one of velocity, acceleration, spin, andspin rate.
 16. The method of claim 12, wherein the feedback informationincludes a specific color of light.
 17. The method of claim 12, furthercomprising: changing to a first color when the comparison is within athreshold range; and changing to a second color when the comparison isoutside of a threshold range.
 18. The method of claim 12, wherein thereceiving the pre-selection of the type of performance of the object isin response to an input device on the object being activated by a user.19. The method of claim 12, further comprising a power supply disposedin the object and configured to be recharged.
 20. The method of claim12, further comprising transmitting, in real-time, the measured motionparameter to an external computing device.